package com.mindskip.xzs.repository;

import com.mindskip.xzs.domain.dto.admin.exampaper.ExamPaperPageDTO;
import com.mindskip.xzs.domain.entity.ExamPaper;
import com.mindskip.xzs.domain.vo.student.dashboard.FixedPaper;
import com.mindskip.xzs.domain.vo.student.dashboard.PaperFilter;
import com.mindskip.xzs.domain.vo.student.dashboard.TimeLimitPaper;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface ExamPaperMapper extends BaseMapper<ExamPaper> {

    Integer selectAllCount();

    List<ExamPaper> selectByPage(ExamPaperPageDTO examPaperPageDTO);

    List<ExamPaper> selectTaskExamByPage(ExamPaperPageDTO examPaperPageDTO);

    int updateTaskPaper(@Param("taskId") Integer taskId, @Param("paperIds") List<Integer> paperIds);

    int clearTaskPaper(@Param("paperIds") List<Integer> paperIds);

    List<FixedPaper> indexFixedPaper(PaperFilter paperFilter);

    List<TimeLimitPaper> indexTimeLimitPaper(PaperFilter paperFilter);

    List<ExamPaper> selectByPageStudent(com.mindskip.xzs.domain.dto.student.exampaper.ExamPaperPageDTO examPaperPageDTO);
}
